home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 59 / 59.xpi / chrome / useragentswitcher.jar / content / useragentswitcher / common / preferences.js < prev    next >
Text File  |  2009-06-30  |  4KB  |  179 lines

  1. // User Agent Switcher preferences
  2. var UserAgentSwitcherPreferences =
  3. {
  4.     // Deletes a preference
  5.     deletePreference: function(preference)
  6.     {
  7.         // If the preference is set
  8.         if(preference)
  9.         {
  10.             // If a user preference is set
  11.             if(this.isPreferenceSet(preference))
  12.             {
  13.                 this.getPreferencesService().clearUserPref(preference);
  14.             }
  15.         }
  16.     },
  17.     
  18.     // Deletes a preference branch
  19.     deletePreferenceBranch: function(branch)
  20.     {
  21.         // If the branch is set
  22.         if(branch)
  23.         {
  24.             this.getPreferencesService().deleteBranch(branch);
  25.         }
  26.     },
  27.     
  28.     // Gets a boolean preference, returning false if the preference is not set
  29.     getBooleanPreference: function(preference, userPreference)
  30.     {
  31.         // If the preference is set
  32.         if(preference)
  33.         {
  34.             // If not a user preference or a user preference is set
  35.             if(!userPreference || this.isPreferenceSet(preference))
  36.             {
  37.                 try
  38.                 {
  39.                     return this.getPreferencesService().getBoolPref(preference);
  40.                 }
  41.                 catch(exception)
  42.                 {
  43.                     // Do nothing
  44.                 }
  45.             }
  46.         }
  47.     
  48.         return false;
  49.     },
  50.     
  51.     // Gets an integer preference, returning 0 if the preference is not set
  52.     getIntegerPreference: function(preference, userPreference)
  53.     {
  54.         // If the preference is set
  55.         if(preference)
  56.         {
  57.             // If not a user preference or a user preference is set
  58.             if(!userPreference || this.isPreferenceSet(preference))
  59.             {
  60.                 try
  61.                 {
  62.                     return this.getPreferencesService().getIntPref(preference);
  63.                 }
  64.                 catch(exception)
  65.                 {
  66.                     // Do nothing
  67.                 }
  68.             }
  69.         }
  70.     
  71.         return 0;
  72.     },
  73.     
  74.     // Gets the preferences service
  75.     getPreferencesService: function()
  76.     {
  77.         return Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
  78.     },
  79.     
  80.     // Gets a string preference, returning null if the preference is not set
  81.     getStringPreference: function(preference, userPreference)
  82.     {
  83.         // If the preference is set
  84.         if(preference)
  85.         {
  86.             // If not a user preference or a user preference is set
  87.             if(!userPreference || this.isPreferenceSet(preference))
  88.             {
  89.                 try
  90.                 {
  91.                     return UserAgentSwitcherString.trim(this.getPreferencesService().getComplexValue(preference, Components.interfaces.nsISupportsString).data);
  92.                 }
  93.                 catch(exception)
  94.                 {
  95.                     // Do nothing
  96.                 }
  97.             }
  98.         }
  99.     
  100.         return null;
  101.     },
  102.     
  103.     // Is a preference set
  104.     isPreferenceSet: function(preference)
  105.     {
  106.         // If the preference is set
  107.         if(preference)
  108.         {
  109.             return this.getPreferencesService().prefHasUserValue(preference);
  110.         }
  111.     
  112.         return false;
  113.     },
  114.     
  115.     // Sets a boolean preference
  116.     setBooleanPreference: function(preference, value)
  117.     {
  118.         // If the preference is set
  119.         if(preference)
  120.         {
  121.             this.getPreferencesService().setBoolPref(preference, value);
  122.         }
  123.     },
  124.     
  125.     // Sets a boolean preference if it is not already set
  126.     setBooleanPreferenceIfNotSet: function(preference, value)
  127.     {
  128.         // If the preference is not set
  129.         if(!this.isPreferenceSet(preference))
  130.         {
  131.             this.getPreferencesService().setBoolPref(preference, value);
  132.         }
  133.     },
  134.     
  135.     // Sets an integer preference
  136.     setIntegerPreference: function(preference, value)
  137.     {
  138.         // If the preference is set
  139.         if(preference)
  140.         {
  141.             this.getPreferencesService().setIntPref(preference, value);
  142.         }
  143.     },
  144.     
  145.     // Sets an integer preference if it is not already set
  146.     setIntegerPreferenceIfNotSet: function(preference, value)
  147.     {
  148.         // If the preference is not set
  149.         if(!this.isPreferenceSet(preference))
  150.         {
  151.             this.setIntegerPreference(preference, value);
  152.         }
  153.     },
  154.     
  155.     // Sets a string preference
  156.     setStringPreference: function(preference, value)
  157.     {
  158.         // If the preference is set
  159.         if(preference)
  160.         {
  161.             var supportsStringInterface = Components.interfaces.nsISupportsString;
  162.             var string                  = Components.classes["@mozilla.org/supports-string;1"].createInstance(supportsStringInterface);
  163.     
  164.             string.data = value;
  165.     
  166.             this.getPreferencesService().setComplexValue(preference, supportsStringInterface, string);
  167.         }
  168.     },
  169.     
  170.     // Sets a string preference if it is not already set
  171.     setStringPreferenceIfNotSet: function(preference, value)
  172.     {
  173.         // If the preference is not set
  174.         if(!this.isPreferenceSet(preference))
  175.         {
  176.             this.setStringPreference(preference, value);
  177.         }
  178.     }
  179. };